{ config, pkgs, inputs, ... }: {
  imports = [
    ./hardware-configuration.nix
  ] ++ map (x: (inputs.self + /modules/${x})) [
    "intelcpu"
    "intelgpu"
    "pipeware"
    "polkit"
    "opengl"
    "dconf"
    "ssd"
    "xdg"

    "docker"
    "fish"
  ] ;

  # Boot
  boot = {
    loader.systemd-boot.enable = true;
    loader.systemd-boot.configurationLimit = 1;
    loader.efi.canTouchEfiVariables = true;
    kernelPackages = pkgs.linuxPackages_latest;
  };

  # Network
  networking = {
    hostName = "laptop";
    networkmanager.enable = true;
    firewall.enable = false;
  };

  users = {
    users = {
      "falldot" = {
        isNormalUser = true;
        extraGroups = [ "wheel" "networkmanager" "docker" "video" "audio" ];
      };
    };
  };

  # Flakes
  nix = {
    settings = {
      experimental-features = "nix-command flakes";
      auto-optimise-store = true;
    };

    # Weekly garbage collection
    gc = {
      automatic = true;
      dates = "weekly";
      options = "--delete-older-than 10d";
    };

    optimise = {
      automatic = true;
    };
  };

  # Timezone
  time.timeZone = "Asia/Sakhalin";

  # Locale
  i18n = {
    defaultLocale = "en_US.UTF-8";
    supportedLocales = [
      "en_US.UTF-8/UTF-8"
      "ru_RU.UTF-8/UTF-8"
    ];
  };

  # Console
  console = {
    earlySetup = true;
    useXkbConfig = true;
    font = "cyr-sun16";
  };

  services = {
    openssh = {
      enable = true;
    };
  };

  nixpkgs = {
		hostPlatform = "x86_64-linux";
		config.allowUnfree = true;
	};

  system.stateVersion = "23.11";
}